home *** CD-ROM | disk | FTP | other *** search
- userdict begin /regmarkdict 23 dict def end
- /setpacking where dup{exch pop currentpacking exch true setpacking}if
- regmarkdict begin
- /X{exch def}bind def
- /m/moveto load def
- /l/lineto load def
- /rl/rlineto load def
- /np/newpath load def
- /cp/closepath load def
- /rrc{gsave np 4 copy 4 2 roll exch m 6 -1 roll l l l cp setgray eofill
- grestore}bind def
- /cutm{/regl X
- /@8 X /@7 X /@6 X /@5 X
- /@4 X /@3 X /@2 X /@1 X
- gsave np
- @2 @5 m 0 regl rl
- @6 @1 m regl 0 rl
- @4 @5 m 0 regl rl
- @8 @1 m regl neg 0 rl
- @2 @7 m 0 regl neg rl
- @6 @3 m regl 0 rl
- @4 @7 m 0 regl neg rl
- @8 @3 m regl neg 0 rl
- dup .5 mul setlinewidth gsave 1 setgray stroke grestore
- .25 mul setlinewidth stroke grestore}bind def
- /cirm{/skew X/regl X
- /@4 X /@3 X /@2 X /@1 X
- /@5 @3 @1 sub 2.0 div def
- /@6 @4 @2 sub 2.0 div def
- /@7 regl 2 mul def
- /@8 regl 2.0 div def
- /@9 regl 4.0 div def gsave np
- @2 @6 add regl sub @1 m @7 0 rl
- @2 @6 add regl sub skew add @3 m @7 0 rl
- @2 @1 @5 add regl sub skew add m 0 @7 rl
- @4 @1 @5 add regl sub m 0 @7 rl
- @2 @6 add @1 @8 sub m 0 regl rl
- @2 @6 add skew add @3 @8 sub m 0 regl rl
- @2 @8 sub @1 @5 add skew add m regl 0 rl
- @4 @8 sub @1 @5 add m regl 0 rl
- @2 @6 add @1 2 copy m @9 0 360 arc
- @2 @6 add skew add @3 2 copy m @9 0 360 arc
- @2 @1 @5 add skew add 2 copy m @9 0 360 arc
- @4 @1 @5 add 2 copy m @9 0 360 arc
- dup .5 mul setlinewidth gsave 1 setgray stroke grestore
- .25 mul setlinewidth stroke grestore}bind def
- /sepatch{/@8 X/@7 X/@6 X/@5 X/@4 X/@3 X/@2 X/@1 X gsave
- dup scale @2 0 1 11{gsave @1 @2 translate 1 0 0 @8 dup rrc
- 2 index exch get dup 0 ne{100 div 1 exch sub 1 1 @8 1 sub dup rrc}
- {pop}ifelse grestore @2 @8 add dup @4 gt{pop @1 @5 eq{exit}
- {@5/@1 X @3 @7 sub/@3 X @6 @7 sub/@6 X dup}ifelse}
- {dup @3 gt{@2 @3 le{pop @6}if}if}ifelse/@2 X}for
- pop pop grestore}bind def
- /grpatch{/@6 X/@5 X/@4 X/@3 X/@2 X/@1 X gsave dup scale
- 0 1 9{gsave @1 @2 translate 1 0 0 @6 dup rrc 1 index exch get dup
- 0 ne{100 div 1 exch sub 1 1 @6 1 sub dup rrc}{pop}ifelse grestore
- @1 @6 add dup @4 gt{pop exit}if dup @3 gt{@1 @3 le{pop @5}if}if/@1 X}for
- pop grestore}bind def
- {setpacking}if
- end
-